# -*- coding:utf-8 -*-
# 生成器并行

import time


def consumer(name):
    print('I get a name %s' % name)
    while True:
        passParam = yield
        print('状态恢复时候，我获取了一个参数: %s' % passParam)


con = consumer('GC')

print(con)  # generator
con.__next__()
con.__next__()
con.__next__()
print('======')
con.send('状态恢复时候传入的参数')

# 所谓单线程下的并行操作，就是利用状态的存储于恢复
con2 = consumer('GC')
con2.__next__() # python 的 generator 初始化时还没有被运行
con3 = consumer('TT')
con3.__next__()

for i in range(10):
    con2.send(i)
    # i.__str__()
    con3.send(i)
